Codul care a dus oamenii pe Lună a fost publicat pe internet

de: Andrada Bonea
11 07. 2016

Atunci când programatorii din cadrul MIT Instrumentation Laboratory au început să lucreze pentru software-ul necesar programului Apollo 11, tehnologiile necesare nu erau puse la punct. Iar prin „nu erau puse la punct” vrem să spunem că nu existau, așa că oamenii de știință s-au văzut nevoiți să le inventeze.

Au inventat „rope memory”, iar capacitatea sa nu depășea 72kb. Software-ul a fost obținut cu ajutorul femeilor din fabrici, prin încolăcirea firelor prin și în jurul unui nucleu, pentru a reprezenta valorile 1 și 0 necesare programului. Poți vedea în clipul de mai jos cum se realiza un software în anii ’60.

Programatorii MIT au scris incredibil de multe linii de cod, iar fotografia de mai jos reprezintă cantitatea copleșitoare de date create pentru acest scop, puse pe hârtie. Femeia pe care o puteți vedea este Margaret Hamilton, director de inginerie software în cadrul proiectului.

Codul AGC (Apollo Guidance Computer) a fost disponibil pentru public de ceva timp, prima oară grație cercetătorului Ron Burkey, care l-a încărcat în 2003, după ce l-a transcris din imagini scanate ale copiilor originale pe care MIT le-a publicat online. Mai mult decât atât, Burkey a reconstruit părțile care nu mai erau lizibile, cu o acuratețe de 100%. Codul a devenit valabil pentru orice persoană interesată de examinarea lui. Mai jos, puteți vedea o simulare a AGC creată de Burkey:

Chiar dacă proiectul lui Burkey a avut succes, codul tot a rămas cumva obscur pentru mulți dintre dezvoltatorii de software contemporani. Săptămâna trecută, Chris Garry, fost intern al NASA, a publicat software-ul în întregime pe GitHub, faimosul site de împărtășire de coduri, unde foarte mulți programatori petrec timp.

În doar câteva ore, pasionații au început să disece software-ul, având în vedere în special comentariile programatorilor care au scris codurile. În programare, aceste comentarii sunt, în mod normal, descrieri banale pentru ce face comanda respectivă. Aparent însă, o bună parte din comentariile din AGC erau amuzante și spirituale. De exemplu, unul dintre fișierele codului-sursă se numește BURN_BABY_BURN–MASTER_IGNITION_ROUTINE, iar explicația e următoarea:

Comentarii - AGC

Dat fiind faptul că toate codurile sunt acum disponibile online, utilizatorii GitHub pot sugera schimbări și îl pot comenta după bunul plac. Pentru a vedea și mai multe comentarii amuzante extrase din codul original, precum și soluții oferite de programatorii care utilizează GitHub, aruncă o privire pe articolul publicat de QZ.